home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Design
/
WB Collection.iso
/
workbench werkzeuge
/
uhren & terminkalender
/
organizer
/
reminderv5.9
/
reminder.guide
(
.txt
)
< prev
next >
Wrap
Amigaguide Document
|
1996-04-07
|
26KB
|
480 lines
@database REMINDER
@author "Ebbe Holleris Petersen"
@$VER: Reminder.guide 5.9 (15.12.94)
@node MAIN
@title "Reminder Help"
Reminder V5.9
Copyright
1991-94 by Ebbe Holleris Petersen
Official release of version 5.9
Release date 15/12-94
E-mail: eep@sbi.dk
@{" Introduktion " link HELP_INTRO }
@{" What is Reminder? " link HELP_WHATISREM }
@{" How to invoke Reminder and what it does " link HELP_INVOKEREMINDER }
@{" The input window " link HELP_INPUT }
@{" The setup window " link HELP_SETUP }
@{" The alarm window " link HELP_ALARM }
@{" The message window " link HELP_MESSAGE }
@{" Reminder's config- and datafile " link HELP_CFG }
@{" Facilities to be added in future versions " link HELP_ADDED }
@{" What to do about bugs, criticism, suggestions etc." link HELP_WHATTODO }
@{" Credits " link HELP_CREDITS }
@endnode
@node HELP_INTRO "Introduction"
INTRODUCTION
Reminder is Copyright
1991-94 by Ebbe Holleris Petersen, but can be
freely distributed, providing that the following rules are respected:
- No change is made to the program nor to the accompanying
documentation.
- The package is always distributed in its complete form consisting of
8 files: Reminder.68000, Reminder.68020+, Reminder.data, Changes,
Reminder.guide, Reminder.info, Reminder.guide.info and Changes.info.
- Every form of distribution is allowed and encouraged, but no fee can
be charged for this program except for, possibly, the cost of
magnetic media and/or disk duplication and shipping.
- Inclusion in PD software libraries such as Fish Disks is allowed,
provided the fees charged for these disks are comparable with those
charged by Fred Fish.
- The program cannot be distributed in any commercial product without
the written consent of the author.
By copying, distributing and/or using the program you indicate your
acceptance of the above rules.
Also remember that this program is supplied 'as is': the entire risk as
to the quality of the program is to the user. In no event will the
author be liable for direct or indirect damage or loss resulting from
the use of this program.
If you are the kind of person who just has to pay for the programs you
use, I suggest you donate whatever amount you find will make you feel
better to GreenPeace or WWF. The only thing I ask for is ideas and
suggestions for additional features and improvements of Reminder. See
@{" What to do about bugs, criticism, suggestions etc." link HELP_WHATTODO } for info of how to
get in touch with me if you have any. Enjoy.
@endnode
@node HELP_WHATISREM "What is Reminder"
WHAT IS REMINDER?
I have a tendency to forget that there is a world around me and that
time keeps running, when I am working with my A2000. Or in other words:
Me and the rest of the world have a tendency to get out of sync you
might say.
I therefore decided to write a small commodity that would pop up now and
then to remind me of the things I tended to forget. The result of this
mental exercise I decided to call Reminder.
So what does it do? Reminder keeps an eye on a list of messages and
commands, which the user (you) wants to be shown and/or executed at a
specific time or time intervals.
Any or all of the timeparameters can be wildcards. Once every minute
the list is checked, and if a match between the systemclock and a time
specification is found a window will pop up, and the message(s) will be
shown and/or the command(s) will be executed.
Because Reminder is supposed to run as a backgroundprocess, it is
designed to be memory efficient and use as little CPU time as possible.
Should you however be the owner of an unexpanded A500, or for any other
reason NOT want the program to run continuous, it is possible to make it
show all messages for today at once, and then die (when using this
option no commands will be executed).
@endnode
@node HELP_INVOKEREMINDER "How to invoke Reminder and what it does"
HOW TO INVOKE REMINDER AND WHAT IT DOES
Reminder is run from the CLI simply by typing:
[RunBack] Reminder [X] [Y] [MODE=RUN/CHECK/CLI]
Running Reminder without any options is equivalent to:
Reminder X=372 Y=0 MODE=RUN
Commandline options overrides default values, and values found in the
configfile.
Reminder (and Reminder.info) can also be put in the WBStartup drawer.
In this case X, Y and MODE can be added as tool types in the icon.
>>> IF YOU HATE TO READ LONG MANUALS <<<
take a break here, run Reminder and try selecting 'alarm', 'input' or
'setup' from Reminders menu. This should give you an idea of what the
program does (it may be an idea to copy the file Reminder.data to S:
first though).
(Ok, break over...)
Reminder is very tolerant when it comes to low memory conditions - it
simply remembers what it wasn't able to do, and then tries again (about
once every second) until it succeeds. Only a few things will make
Reminder close down and exit:
- Not being able to open the needed libraries (intuition V36+,
graphics V36+, commodities V36+, gadtools V36+, diskfont V33+ or
reqtools V38+).
- Not being able to allocate space for it's datafile.
- Not being able to install it's inputhandler.
- Not being able to open input and timer device.
Since none of these situations are likely to happen you will probably
not experience any problems.
When Reminder is run it attempts to open the file ENV:Reminder/Config.
If found it will load setup info and name of the datafile to use. Any
commandline options will override the options found in the configfile.
It then attempts to open the datafile specified in configfile, or the
file S:Reminder.data if no configfile was found. If no configfile and/or
datafile is found, or if the file(s) are not Reminder file(s) Reminder
will state the fact, and then use it's default setup, and start with an
empty list of messages/commands.
If any of the messages/commands read from the datafile have become
obsolete, i.e. were to be shown yesterday or before yesterday and never
again, they will be deleted from the message/command list.
Reminder will then attempt to save the updated list, thereby deleting
the existing one. This operation will be repeated every 24 hours (at
midnight).
Note that as of version 5.7, Reminder no longer can read V2.0 datafiles.
Reminder V3.0 - V5.8 config and datafiles doesn't need any special
attention. The old config and datafile will (if needed) automatically
be updated the first time Reminder V5.9 is run. If you have been using
Reminder V5.6 (or an older version) and the file S:Reminder.cfg is
found, it will be deleted, and the files ENVARC:Reminder/Config and
ENV:Reminder/Config will be created in stead.
Unless told otherwise in it's configfile, Reminder by default opens a
small clock in the upper right corner of the Workbench screen, showing
the time, and how much fast & chip memory is available. If you don't
like the position of the clock window, it can be moved to a different
position, just like any other window.
Likewise it's contents can be changed or Reminder can be instructed not
to open any clock window at all.
You can quit Reminder by:
- selecting 'Quit' in the menu.
- clicking on the close gadget in the clock window.
- or by pressing <selected hotkey sequence>+'q' (default: <Ctrl>+
<Left Alt>) simultaneously.
- or remove it using the commodities control program ExChange.
(if any other Reminder windows are open they will be closed to).
@endnode
@node HELP_INPUT "The input window"
THE INPUT WINDOW
The Input window can be opened in two ways:
- if the clock window is open, by selecting 'Input' in it's menu.
- by pressing <selected hotkey sequence>+<i> simultaneously when no
Reminder windows (except the clock window) are open.
This window consists of two main parts: A calendar showing two months,
and a list of messages/commands, and the time when they are to be shown/
executed.
First time the input window is opened, the calendar will show the month
in which we are (today will be highlighted), and the following month.
The message/command list will contain all messages/commands to be shown/
executed today (if any), and the first empty message/command will be
highlighted.
You use the calendar in the following way:
Next month:
Will advance the calendar one month. The same can be achieved by
pressing <Left Shift> or <Right Shift> and cursorkey 'up'.
Prev month:
Will recede the calendar one month. The same can be achieved by
pressing <Left Shift> or <Right Shift> and cursorkey 'down'.
Today:
Resets the calendar to the present date.
Pointing to a date in the calendar and pressing the left mousebutton
selects (highlights) it, and displays any messages/commands for this
date. The list will be sorted according to when the messages/commands
are to be shown/executed.
After having selected a date in the above described way, you have a list
of messages/commands ready to be edited. This is done in the following
way:
To select a message/command to edit, you press the cursorkeys 'up' and
'down' until the one you want to edit is highlighted. To add a new
message/command just select the last (empty) entry in the list.
Pressing the cursorkeys 'left' or 'right' or the key 'Return' will
make reminder enter edit mode, and allow you to edit the selected
message. The same keys are used to select what parameter to edit (or
point and click).
A message/command can also be selected with the mouse. Selecting a
highlighted message/command will enter edit mode.
In edit mode, the cursorkeys 'up' and 'down' have a different
function. Pressing cursorkey 'up' or 'down', will now change the
highlighted timeparameter, by moving through the legal range of values
+ wildcard. In stead of the cursorkey you can also enter minutes,
hours, days and months directly using the numeric keys (and ? for
wildcard).
To delete a message from the list use the following procedure:
- Select the message to be deleted.
- 1) Press 'Delete' OR
- 2) Enter edit mode.
- clear the fields 'Message' AND 'Command'.
- Leave edit mode, and the message will be removed from the list
(no matter what timespecification has been entered.)
Pressing the mouse-menu-button, 'ESC' or 'shift+return' in edit mode
will make Reminder leave edit mode, but while the mouse-menu-button
and 'ESC' ignores any changes made, 'shift+return' keeps them.
The timespecification consists of the following:
From and To:
These fields specify a timeinterval in which the message/command is
to be shown/executed.
Note that by careful manipulation it is possible to select a non
existing date like 31 feb. Also there is made no attempt to check if
the From date lies before the To date. It is left entirely up to the
user to enter meaningful data, so: Garbage in = Garbage out. It
won't harm, but it won't work either!!!.
Pattern and Weekdays:
These fields specify at what time, date and weekdays the message/
command is to be shown/executed. If 'From' and 'To' are specified
'Pattern' only applies to this interval. Se note above.
Day Count:
Tells Reminder the maximum number of times to show/execute a
message/command within one day. This is very useful, for example if
you want a message/command to be shown/executed as soon as the
program is run.
You would do this by setting hour and minute to wildcards, but then
the message/command would be shown/executed once every minute. To
avoid this, set count to 1 (one), and it will be shown only once.
Total Count:
Tells Reminder the total number of times to show/execute a message/
command over one or several days.
Note that reminder must be allowed to update it's datafile each time
it has shown/executed a message/command that has a Total Count !=
'??'. So if Reminders datafile or the disk it is located on is write
protected this option will *NOT* work properly.
Message:
The message you want to be shown (if any). It can be up to 70
characters long.
Note that you may enter a message, a command *OR* both for the same
timespecification.
Message is a stringgadget, and therefore all the standard key
combinations like <Right amiga>+<q> to undo any changes, <Right
amiga>+<x> to clear the message and so forth will work. Likewise for
command, and any other stringgadget used in Reminder.
Command:
This line will be executed as a command. You type a command the same
way you would do from the CLI. If a command is in your system search
path you don't have to specify the whole path.
example#1: fh0:tools/play fh0:sounds/dingdong
example#2: fh0:utilities/backup fh0: fh1: dh0:
example#3: "fh0:space in name" arg1 arg2 arg3
The command line may be up to 240 characters long.
Do *NOT* make any assumptions about the order in which messages/
commands that are to be shown/executed at the same time will be
shown/executed.
Copy:
Will make a copy of the highlighted (or selected) message.
Show all:
Will display a complete list of all messages/commands presently in the
system. This list can also be edited.
Ok or Close gadget:
Will quit the input window, and if you have modified, added or deleted
any messages/commands, Reminder will attempt to save the modified
datafile.
Cancel or ESC-key (if not in edit mode):
Will undo any changes made since the input window was opened, and then
quit the input window.
To see examples of messages and use of wildcards, an examples datafile
(Reminder.data) is supplied. Copy this file to your S: directory, or
assign S: to whereever the file is located. Then simply run Reminder.
@endnode
@node HELP_SETUP "The setup window"
THE SETUP WINDOW
The setup window can be opened in four ways:
- If the clock window is open, by selecting 'Setup' in it's menu.
- by pressing 'show interface' in the commodities control program
'ExChange'.
- by pressing <selected hotkey sequence>+<s> simultaneously when no
Reminder windows (except the clock window) are open.
- by running a second copy of Reminder.
The setup window will then pop up showing the following options:
Clock format:
This option tells Reminder what to show in the clock window. There are
some 48 different combinations to chose from. Note that seconds can't
be selected unless you also have selected time, and seconds will
automatically be deselected should you deselect time. Deselecting all
options will quit the clock window.
Default: Chip, Fast and Time.
Hotkey sequence:
Allows you to select your very own hotkey sequence, if you for some
reason don't like the default one. This hotkey sequence is used in
connection with 'a', 'i', 's' and 'q' to activate the alarm, setup and
input window and to quit Reminder. It can be changed any time, and the
changes will take effect as soon as the setup window is closed.
Note that no special effort has been made to keep the user from
choosing impractical or downright stupid hotkey sequences like <CTRL>+
<LEFT AMIGA>+<RIGHT AMIGA> or no hotkey sequence at all.
Default: <CTRL>+<LEFT ALT>.
Run/Check/Cli check (commandline options or tool types:
MODE=run/check/cli):
If it is set to "Check" Reminder will check its message list, and if
any messages are to be shown today, it will open a window and display
them. Commands are neither shown nor executed, when using this option.
When the user close's the message window Reminder will exit and die.
The option "Cli check" essentially does the same, but it uses the CLI
from which it was run to display any messages, and then dies
immediately.
The option "Run" of cause means, that Reminder will keep on running,
and only show messages and execute commands at the specified times.
If you change it from 'Run' to 'Check' or 'Cli check', the change won't
take effect until the next time you run Reminder. Once you have done
that, you have to run Reminder with MODE=run to change it again, since
otherwise Reminder will quit before you can change it.
Default: Run.
Clock to front/No clock to front:
"Clock to front" tells Reminder that Whenever the clock window is
obscured by an other window on the Workbench it is to be moved in
front, thereby always being visible. "No clock to front" means ...
well guess. The "Clock to front" option is only available if the
layers library was found.
Default: Clock to front.
WB screen to front/Flash screen:
This option tells Reminder how to signal that it has a message for
you: Move the Workbench screen to the front, or flash all screens.
default: WB screen to front.
Font:
Allows you to select the font that Reminder will use, for all its
windows. When you change the font, the change will take effect for the
clock window (if open) immediately, and for alarm, input, setup and
message windows next time they are opened.
NOTE that if a window gets to big using the specified font, Reminder
defaults to topaz 8.
Default: Default screen font.
Priority:
This is the priority, with which Reminder is running. Can be in the
range -10 to 10, but should be in the range 1 to 5.
Default: 5.
Clock x & Clock y (commandline options and tool types: X= & Y=):
These are the coordinates of the upper left corner of the clock
window.
Simply type in the coordinates where you which the clock window to be
displayed. Illegal values will be changed to closest legal value. If
the clock window is moved Clock x and Clock y will be updated to
reflect the new position.
Default: X=372, Y=0.
Filename:
This tells Reminder under which name to save/load/reload its datafile.
A empty string will not be accepted.
Default: S:Reminder.data
Alarm message:
This is the string to be displayed when you use Reminders alarm
facility.
Default: Alarm.
Alarm command:
This command will be executed when you use Reminders alarm facility.
(No default command).
Cancel or ESC-key:
Reset options to what they were before setup window was opened. Then
exit setup window.
Ok or Close gadget:
Use present setup. Then exit setup window.
Save:
Save present setup to configfile. Use present setup, and exit setup
window.
@endnode
@node HELP_ALARM "Alarm"
THE ALARM WINDOW
The Alarm window can be opened in two ways:
- If the clock window is open, by selecting 'Alarm' in it's menu.
- by pressing <selected hotkey sequence>+<a> simultaneously when no
Reminder windows (except the clock window) are open.
The alarm window will then open, displaying the number of minutes until
the next alarm, or be empty if no alarm is set. Just change this number
to any other number (0-999) you like, then close the window by pressing
'Ok'. Pressing 'Cancel' will cancel the alarm function, no matter what
number was entered. After the requested number of minutes has passed,
the message/command specified in the setup window will be shown/
executed.
If the alarm window is opened a second time, before the requested number
of minutes has passed, the stringgadget will contain the number of
minutes left before the alarm, and the "countdown" will be halted until
the alarm window is closed again.
You could of cause use the normal message+timespecification in stead of
this feature, but often what you need is to be reminded that a movie
begins in 15 minutes or your pizza is finished in 20 minutes etc. For
situations like this the alarm function is both easier and faster to
use.
Since this type of request is considered a "second class" request,
Reminder won't save it in it's datafile. Therefore it will be forgotten
after a reset. Some would call this a drawback, I call it a feature.
@endnode
@node HELP_MESSAGE "The message window"
THE MESSAGE WINDOW
The message window can only be opened by Reminder. It will do so
whenever it has a message for you. Up to 6 messages can be shown at
once. If there are more than 6 messages, you can use the scrollbar or
<arrow up> and <arrow down> to scroll through them.
The window will stay open until you click a mousebutton anywhere in it.
After the message window has been opened, Reminder will add additional
messages to those already shown, until the user closes the window. It
is closed by pressing a mouse anywhere in the window, or by pressing
the ESC key.
Whenever Reminder opens the message window, or adds new messages to
those already shown, it attempts to open the input device, and send a
"harmless" message through the device. As a harmless message I chose a
mousemove event with dx,dy = 0,0. The reason for this is:
- When intuition opens a window it also activates the display. Any
screenblanker (DMouse, QMouse etc.) running, would not be notified
of this, since opening a window does not generate an event. So if
the screenblanker had deactivated the screen, when Reminder opened
it's message window, the screen would be reactivated without the
screenblanker being notified of this. It would therefore stay this
way instead of being deactivated again after a certain time.
A (fake) mousemove event, will make the screenblanker think that the
mouse was moved, and it therefore will activate the screen, and
deactivate it again after some time if the user is not using the
machine.
- When Reminder updates a already open message window, the display is
not activated, so if a screenblanker is running, and has deactivated
the display, the user would not be able to see the new message(s)
(The user may still be able to see the screen even if he is not
using the machine).
The fake mousemove event was the most neutral event I could come up
with, that would mean nothing to any program except a screenblanker. In
the (very) unlikely event that any of your programs start doing things
on there own, because they interpret it as a command, notify me of the
problem, and I will try to come up with a better "harmless event".
@endnode
@node HELP_CFG "Reminder's config- and datafile"
REMINDER'S CONFIG- AND DATAFILE
The files generated by Reminder are ASCII files, which can be viewed
with any texteditor or textviewer. You can therefore also change them by
using an editor. This is NOT encouraged, since Reminder only makes a
limited check to see if the data it reads is valid. An error in the
datafile, may therefore go undetected, and Reminders behavior will be
unpredictable, and very likely NOT a pretty sight.
Before using a config- or datafile Reminder makes sure, that it really
is a Reminder file. If not the user is informed, the file ignored, and
no harm is done.
If a datafile is partly damaged, Reminder will recover as much of the
file as possible, and ignore the rest.
Note that if you like the default values for format, hotkey etc. you
don't need a config file (if Reminder doesn't find a config file it will
simply use it's built-in default values). The datafile just have to be
saved under the (default) name S:Reminder.data.
The first line in a data or configfile identifies the file as a Reminder
Vx.x file. Note however, that the version number not necessarily
corresponds to the version number displayed by Reminder (Reminder V5.9
generates V5.7 datafiles and V5.5 configfiles). The version number
simply states the oldest version of Reminder that will work with this
particular data or configfile.
@endnode
@node HELP_ADDED "Facilities to be added in future versions"
FACILITIES TO BE ADDED IN FUTURE VERSIONS.
- Show/Highlight holidays.
- Option that instructs Reminder to show all messages that should have
been shown since last time Reminder was run.
- Keyboard combinations to select dates in the calendar.
- Option to instruct Reminder to show a message with a specific interval,
for example every 7 minutes and 12 seconds.
@endnode
@node HELP_WHATTODO "What to do about bugs, criticism, suggestions etc."
WHAT TO DO ABOUT BUGS, CRITICISM, SUGGESTIONS ETC.
If you want to get in touch you can reach me on the following address:
Ebbe Holleris Petersen
Vesterbrogade 120D, st.th.
1620 K
benhavn V
Denmark
Phone: +45 31313010
E-mail: eep@sbi.dk
@endnode
@node HELP_CREDITS "Credits"
CREDITS
Finally ThanX to my friends Flemming Jacobsen, Thomas Gade, Thomas
Veber Jensen, Anders Melchiorsen and everybody else who has helped me
test Reminder, and for there various suggestions for changes and
improvements. This program would not have had half it's facilities
without them, nor would it have been so easy to use(?).
Also ThanX to the following persons, whose source code and/or programs
have served as examples and inspiration when I wrote Reminder:
Matthew Dillon, Steve Drew, Carlo Borreo & Cesare Dieni
for Shell4.01
Brian Moats
for Mach1.6
Rob Peck, Dan Barrett & Tim Maffett
for Runback
Commodore for blowing those PC's out of the water by giving us the
*Amiga*
@endnode